#ifndef LOGR_GEN_INFO_H
#define LOGR_GEN_INFO_H

#include <sys/stat.h>
#include <sys/fcntl.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <ctype.h>
#include <sys/time.h>
#include <assert.h>
#include <gr_graph_fun.h>

typedef struct _web_gen_info {
    long naccesses;
    double sbytes;
    long npages;
    void *info;
} WebGenInfoStruct;

typedef struct _web_gen_info *WebGenInfoPtr;

WebGenInfoPtr
new_gen_info_node(void);

void
delete_gen_info_node(WebGenInfoPtr wgi);

void
LOGR_set_gen_info_naccesses(WebGenInfoPtr wgi,long num);

void
LOGR_add_gen_info_naccesses(WebGenInfoPtr wgi,long num);

void
LOGR_inc_gen_info_naccesses(WebGenInfoPtr wgi);

long
LOGR_get_gen_info_naccesses(WebGenInfoPtr wgi);

void *
LOGR_get_gen_info_context(WebGenInfoPtr wgi);

void
LOGR_set_gen_info_context(WebGenInfoPtr wgi,void *info);

void
LOGR_set_gen_info_sizebytes(WebGenInfoPtr wgi,double num);

void
LOGR_add_gen_info_sizebytes(WebGenInfoPtr wgi,double num);

double
LOGR_get_gen_info_sizebytes(WebGenInfoPtr wgi);

void
LOGR_set_gen_info_npages(WebGenInfoPtr wgi,long num);

void
LOGR_add_gen_info_npages(WebGenInfoPtr wgi,long num);

void
LOGR_inc_gen_info_npages(WebGenInfoPtr wgi);

long
LOGR_get_gen_info_npages(WebGenInfoPtr wgi);

int
LOGR_is_access_gen_info_lower(WebGenInfoPtr u, WebGenInfoPtr v);

int
LOGR_is_access_gen_info_bigger(WebGenInfoPtr u,WebGenInfoPtr v);

int
LOGR_is_npages_gen_info_lower(WebGenInfoPtr u, WebGenInfoPtr v);

int
LOGR_is_npages_gen_info_bigger(WebGenInfoPtr u,WebGenInfoPtr v);

int
LOGR_is_context_gen_info_lower(WebGenInfoPtr u, WebGenInfoPtr v);

int
LOGR_is_context_gen_info_bigger(WebGenInfoPtr u,WebGenInfoPtr v);

#endif


